<?xml version="1.0"?>
<doc>
    <assembly>
        <name>Hime.Redist</name>
    </assembly>
    <members>
        <member name="T:Hime.Redist.Parsers.UnexpectedTokenError">
            <summary>
            Represents an unexpected token error in a parser
            </summary>
        </member>
        <member name="T:Hime.Redist.Parsers.ParserError">
            <summary>
            Represents an error in a parser
            </summary>
        </member>
        <member name="M:Hime.Redist.Parsers.ParserError.ToString">
            <summary>
            Returns the string representation of this error
            </summary>
            <returns>The string representation of this error</returns>
        </member>
        <member name="M:Hime.Redist.Parsers.ParserError.#ctor(System.Int32,System.Int32)">
            <summary>
            Initializes a new instance of the ParserError
            </summary>
            <param name='line'>Error's line number in the input</param>
            <param name='column'>Error's column in the input</param>
        </member>
        <member name="P:Hime.Redist.Parsers.ParserError.Message">
            <summary>
            Gets the error's message
            </summary>
        </member>
        <member name="M:Hime.Redist.Parsers.UnexpectedTokenError.#ctor(Hime.Redist.Parsers.SymbolToken,Hime.Redist.Parsers.SymbolTerminal[],System.Int32,System.Int32)">
            <summary>
            Initializes a new instance of the UnexpectedTokenError class with a token and an array of expected names
            </summary>
            <param name='token'>The unexpected token</param>
            <param name='expected'>The array of expected terminals</param>
            <param name="line">The line number of the token</param>
            <param name="column">The column number of the token</param>
        </member>
        <member name="P:Hime.Redist.Parsers.UnexpectedTokenError.UnexpectedToken">
            <summary>
            Gets the unexpected token
            </summary>
        </member>
        <member name="P:Hime.Redist.Parsers.UnexpectedTokenError.ExpectedTerminals">
            <summary>
            Gets a list of the expected terminals
            </summary>
        </member>
        <member name="T:Hime.Redist.Parsers.UnexpectedCharError">
            <summary>
            Represents an unexpected character error in the input stream of a lexer
            </summary>
        </member>
        <member name="M:Hime.Redist.Parsers.UnexpectedCharError.#ctor(System.Char,System.Int32,System.Int32)">
            <summary>
            Initializes a new instance of the UnexpectedCharError class for the given character at the given line and column number
            </summary>
            <param name="unexpected">The errorneous character</param>
            <param name="line">The line number of the character</param>
            <param name="column">The column number of the character</param>
        </member>
        <member name="P:Hime.Redist.Parsers.UnexpectedCharError.UnexpectedChar">
            <summary>
            Gets the unexpected char
            </summary>
        </member>
        <member name="T:Hime.Redist.Parsers.LexerDFAState">
            <summary>
            Represents a state in a lexer's DFA
            </summary>
        </member>
        <member name="F:Hime.Redist.Parsers.LexerDFAState.transitions">
            <summary>
            State's transitions
            </summary>
        </member>
        <member name="F:Hime.Redist.Parsers.LexerDFAState.terminal">
            <summary>
            Terminal recognized at this state, or null if none is recognized
            </summary>
        </member>
        <member name="M:Hime.Redist.Parsers.LexerDFAState.#ctor(System.UInt16[][],Hime.Redist.Parsers.SymbolTerminal)">
            <summary>
            Initializes a new instance of the State structure with transitions and a terminal
            </summary>
            <param name="transitions">The transitions for the state</param>
            <param name="terminal">The terminal recognized at this state</param>
        </member>
        <member name="T:Hime.Redist.Parsers.BufferedTokenReader">
            <summary>
            Represents a rewindable stream of tokens
            </summary>
        </member>
        <member name="M:Hime.Redist.Parsers.BufferedTokenReader.#ctor(Hime.Redist.Parsers.LexerText)">
            <summary>
            Initializes a new instance of the BufferedTokenReader class with the given lexer
            </summary>
            <param name="lexer">The lexer matching tokens</param>
        </member>
        <member name="M:Hime.Redist.Parsers.BufferedTokenReader.Read">
            <summary>
            Gets the next token in the stream
            </summary>
            <returns>The next token in the stream</returns>
        </member>
        <member name="M:Hime.Redist.Parsers.BufferedTokenReader.Rewind(System.Int32)">
            <summary>
            Rewinds the stream of a given number of tokens
            </summary>
            <param name="length">The number of tokens to rewind</param>
        </member>
        <member name="T:Hime.Redist.Parsers.SymbolAction">
            <summary>
            Represents an action symbol in a shared packed parse forest
            </summary>
        </member>
        <member name="T:Hime.Redist.Parsers.Symbol">
            <summary>
            Represents a symbol in an abstract syntax tree
            </summary>
        </member>
        <member name="M:Hime.Redist.Parsers.Symbol.#ctor(System.UInt16,System.String)">
            <summary>
            Initializes a new instance of the Symbol class with the given type ID and name
            </summary>
            <param name="sid">Symbol's unique type identifier</param>
            <param name="name">Symbol's type name</param>
        </member>
        <member name="M:Hime.Redist.Parsers.Symbol.ToString">
            <summary>
            Returns the name of the symbol
            </summary>
            <returns>The name of the symbol</returns>
        </member>
        <member name="M:Hime.Redist.Parsers.Symbol.GetHashCode">
            <summary>
            Serves as a hash function for a particular type
            </summary>
            <returns>A hash code for the current symbol</returns>
        </member>
        <member name="M:Hime.Redist.Parsers.Symbol.Equals(System.Object)">
            <summary>
            Determines whether the specified symbol is equal to the current symbol
            </summary>
            <param name="obj">The symbol to compare with the current symbol</param>
            <returns>true if the specified symbol is equal to the current symbol; otherwise, false</returns>
        </member>
        <member name="P:Hime.Redist.Parsers.Symbol.SymbolID">
            <summary>
            Gets the symbol's unique type ID
            </summary>
        </member>
        <member name="P:Hime.Redist.Parsers.Symbol.Name">
            <summary>
            Gets the symbol's type name
            </summary>
        </member>
        <member name="M:Hime.Redist.Parsers.SymbolAction.#ctor(System.String,Hime.Redist.Parsers.SymbolAction.Callback)">
            <summary>
            Initializes a new instance of the SymbolAction class with the given symbol type name and callback
            </summary>
            <param name="name">Symbol's type name</param>
            <param name="callback">Callback for the action's execution</param>
        </member>
        <member name="M:Hime.Redist.Parsers.SymbolAction.GetHashCode">
            <summary>
            Serves as a hash function for a particular type
            </summary>
            <returns>A hash code for the current symbol</returns>
        </member>
        <member name="M:Hime.Redist.Parsers.SymbolAction.Equals(System.Object)">
            <summary>
            Determines whether the specified symbol is equal to the current symbol
            </summary>
            <param name="obj">The symbol to compare with the current symbol</param>
            <returns>true if the specified symbol is equal to the current symbol; otherwise, false</returns>
        </member>
        <member name="P:Hime.Redist.Parsers.SymbolAction.Action">
            <summary>
            Gets the callback for the execution of the symbol
            </summary>
        </member>
        <member name="T:Hime.Redist.Parsers.SymbolAction.Callback">
            <summary>
            Represents the method to call for the execution of the symbol
            </summary>
            <param name="subroot">The syntax tree node on which the action is executed</param>
        </member>
        <member name="T:Hime.Redist.Parsers.SymbolTokenText">
            <summary>
            Represents a piece of text matched by a lexer
            </summary>
        </member>
        <member name="T:Hime.Redist.Parsers.SymbolToken">
            <summary>
            Represents a piece of data matched by a lexer
            </summary>
        </member>
        <member name="M:Hime.Redist.Parsers.SymbolToken.#ctor(System.UInt16,System.String)">
            <summary>
            Initializes a new instance of the SymbolToken class with the given type ID and name
            </summary>
            <param name="sid">Symbol's unique type identifier</param>
            <param name="name">Symbol's type name</param>
        </member>
        <member name="P:Hime.Redist.Parsers.SymbolToken.Value">
            <summary>
            Gets the data represented by this symbol
            </summary>
        </member>
        <member name="M:Hime.Redist.Parsers.SymbolTokenText.#ctor(System.UInt16,System.String,System.String,System.Int32,System.Int32)">
            <summary>
            Initializes a new instance of the SymbolTokenText class with the given name, id, value and line number
            </summary>
            <param name="sid">Token's unique type identifier</param>
            <param name="name">Token's type name</param>
            <param name="value">Token's value</param>
            <param name="line">Token's line number</param>
            <param name="column">Token's column in the line</param>
        </member>
        <member name="P:Hime.Redist.Parsers.SymbolTokenText.Value">
            <summary>
            Gets the data represented by this symbol
            </summary>
        </member>
        <member name="P:Hime.Redist.Parsers.SymbolTokenText.ValueText">
            <summary>
            Gets the text represented by this symbol
            </summary>
        </member>
        <member name="P:Hime.Redist.Parsers.SymbolTokenText.Line">
            <summary>
            Gets the line number where the text begins
            </summary>
        </member>
        <member name="P:Hime.Redist.Parsers.SymbolTokenText.Column">
            <summary>
            Gets the column number where the text begins
            </summary>
        </member>
        <member name="P:Hime.Redist.Parsers.SymbolTokenText.SubGrammarRoot">
            <summary>
            Gets of sets the matched sub-grammar's root AST
            </summary>
        </member>
        <member name="T:Hime.Redist.Parsers.OnErrorHandler">
            <summary>
            Handler for lexical errors
            </summary>
            <param name="error"></param>
        </member>
        <member name="T:Hime.Redist.Parsers.LexerText">
            <summary>
            Represents a lexer for a text stream
            </summary>
        </member>
        <member name="F:Hime.Redist.Parsers.LexerText.states">
            <summary>
            States of the DFA
            </summary>
        </member>
        <member name="F:Hime.Redist.Parsers.LexerText.subGrammars">
            <summary>
            Map associating a callback to symbol ids
            </summary>
        </member>
        <member name="F:Hime.Redist.Parsers.LexerText.separatorID">
            <summary>
            ID of the separator
            </summary>
        </member>
        <member name="F:Hime.Redist.Parsers.LexerText.input">
            <summary>
            Lexer's input
            </summary>
        </member>
        <member name="F:Hime.Redist.Parsers.LexerText.currentLine">
            <summary>
            Current line number
            </summary>
        </member>
        <member name="F:Hime.Redist.Parsers.LexerText.currentColumn">
            <summary>
            Current column number
            </summary>
        </member>
        <member name="F:Hime.Redist.Parsers.LexerText.isDollatEmited">
            <summary>
            True if the end of the input has been reached and the dollar token has been emited
            </summary>
        </member>
        <member name="F:Hime.Redist.Parsers.LexerText.buffer">
            <summary>
            Buffer for currently read text
            </summary>
        </member>
        <member name="F:Hime.Redist.Parsers.LexerText.bufferSize">
            <summary>
            Size of the buffer
            </summary>
        </member>
        <member name="M:Hime.Redist.Parsers.LexerText.setup">
            <summary>
            Sets up the inner data of the lexer
            </summary>
        </member>
        <member name="M:Hime.Redist.Parsers.LexerText.Clone">
            <summary>
            Gets a clone of this lexer
            </summary>
            <returns>A clone of this lexer</returns>
        </member>
        <member name="M:Hime.Redist.Parsers.LexerText.#ctor(System.IO.TextReader)">
            <summary>
            Initializes a new instance of the LexerText class with the given input
            </summary>
            <param name="input">The input as a text reader</param>
        </member>
        <member name="M:Hime.Redist.Parsers.LexerText.#ctor(Hime.Redist.Parsers.LexerText)">
            <summary>
            Initializes a new instance of the LexerText class as a copy of the given lexer
            </summary>
            <param name="original">The lexer to copy</param>
        </member>
        <member name="M:Hime.Redist.Parsers.LexerText.SetErrorHandler(Hime.Redist.Parsers.OnErrorHandler)">
            <summary>
            Sets the error handler for this lexer
            </summary>
            <param name="handler"></param>
        </member>
        <member name="M:Hime.Redist.Parsers.LexerText.GetNextToken">
            <summary>
            Gets the next token in the input
            </summary>
            <returns>The next token in the input</returns>
        </member>
        <member name="P:Hime.Redist.Parsers.LexerText.InputText">
            <summary>
            Gets the text of the input that has already been read
            </summary>
        </member>
        <member name="P:Hime.Redist.Parsers.LexerText.CurrentLine">
            <summary>
            Gets the current line number
            </summary>
        </member>
        <member name="P:Hime.Redist.Parsers.LexerText.CurrentColumn">
            <summary>
            Gets the current column number
            </summary>
        </member>
        <member name="P:Hime.Redist.Parsers.LexerText.IsAtEnd">
            <summary>
            True if the lexer is at the end of the input
            </summary>
        </member>
        <member name="T:Hime.Redist.Parsers.LexerText.MatchSubGrammar">
            <summary>
            Represents a callback for matching the content of a token to a grammar
            </summary>
            <param name="value">The text value of a token</param>
            <returns>The abstract syntax tree node representing the result of parsing the value of the token</returns>
        </member>
        <member name="T:Hime.Redist.Parsers.LR0BaseParser">
            <summary>
            Represents a base for LR(0) parsers
            </summary>
        </member>
        <member name="T:Hime.Redist.Parsers.LRParser">
            <summary>
            Represents a base for all LR(k) parsers
            </summary>
        </member>
        <member name="T:Hime.Redist.Parsers.IParser">
            <summary>
            Represents a parser
            </summary>
        </member>
        <member name="M:Hime.Redist.Parsers.IParser.Analyse">
            <summary>
            Runs the parser and return the root of the abstract syntax tree
            </summary>
            <returns>The root of the abstract syntax tree representing the input, or null if errors when encountered</returns>
        </member>
        <member name="P:Hime.Redist.Parsers.IParser.Errors">
            <summary>
            Gets the errors encountered by the parser
            </summary>
        </member>
        <member name="F:Hime.Redist.Parsers.LRParser.errorSimulationLength">
            <summary>
            Number of tokens to correctly match during an error recovery procedure
            </summary>
        </member>
        <member name="F:Hime.Redist.Parsers.LRParser.maxErrorCount">
            <summary>
            Maximum number of errors before determining the parser definitely fails
            </summary>
        </member>
        <member name="F:Hime.Redist.Parsers.LRParser.rules">
            <summary>
            Rules of the LR(k) parser
            </summary>
        </member>
        <member name="F:Hime.Redist.Parsers.LRParser.errors">
            <summary>
            List of the encountered syntaxic errors
            </summary>
        </member>
        <member name="F:Hime.Redist.Parsers.LRParser.readonlyErrors">
            <summary>
            Read-only list of the errors
            </summary>
        </member>
        <member name="F:Hime.Redist.Parsers.LRParser.lexer">
            <summary>
            Lexer associated to this parser
            </summary>
        </member>
        <member name="F:Hime.Redist.Parsers.LRParser.stack">
            <summary>
            Parser's stack
            </summary>
        </member>
        <member name="F:Hime.Redist.Parsers.LRParser.state">
            <summary>
            ID of the parser's current state
            </summary>
        </member>
        <member name="F:Hime.Redist.Parsers.LRParser.nodes">
            <summary>
            Buffer for nodes of the AST being constructed
            </summary>
        </member>
        <member name="M:Hime.Redist.Parsers.LRParser.setup">
            <summary>
            Initialization method to be overriden
            </summary>
        </member>
        <member name="M:Hime.Redist.Parsers.LRParser.GetState(System.Int32)">
            <summary>
            Gets the automaton's state with the given id
            </summary>
            <param name="id">State's id</param>
            <returns>The automaton's state which has the given id, or null if no state with the given id is found</returns>
        </member>
        <member name="M:Hime.Redist.Parsers.LRParser.OnUnexpectedToken(Hime.Redist.Parsers.SymbolToken)">
            <summary>
            Acts when an unexpected token is encountered
            </summary>
            <param name="nextToken">Current token</param>
            <returns>The new next token if the error is resolved, null otherwise</returns>
        </member>
        <member name="M:Hime.Redist.Parsers.LRParser.RunForToken(Hime.Redist.Parsers.SymbolToken)">
            <summary>
            Runs the parser for the given state and token
            </summary>
            <param name="token">Current token</param>
            <returns>true if the parser is able to consume the token, false otherwise</returns>
        </member>
        <member name="M:Hime.Redist.Parsers.LRParser.#ctor(Hime.Redist.Parsers.LexerText)">
            <summary>
            Initializes a new instance of the LRParser class with the given lexer
            </summary>
            <param name="input">Input lexer</param>
        </member>
        <member name="M:Hime.Redist.Parsers.LRParser.OnLexicalError(Hime.Redist.Parsers.ParserError)">
            <summary>
            Adds the given lexical error emanating from the lexer to the list of errors
            </summary>
            <param name="error">Lexical error</param>
        </member>
        <member name="M:Hime.Redist.Parsers.LRParser.Analyse">
            <summary>
            Parses the input and returns the produced AST
            </summary>
            <returns>AST produced by the parser representing the input, or null if unrecoverable errors were encountered</returns>
        </member>
        <member name="P:Hime.Redist.Parsers.LRParser.Errors">
            <summary>
            Gets a read-only collection of syntaxic errors encountered by the parser
            </summary>
        </member>
        <member name="T:Hime.Redist.Parsers.LRParser.Production">
            <summary>
            Callback for rule productions
            </summary>
            <param name="parser">The reducing parser</param>
        </member>
        <member name="F:Hime.Redist.Parsers.LR0BaseParser.states">
            <summary>
            States of the LR(0) parser automaton
            </summary>
        </member>
        <member name="M:Hime.Redist.Parsers.LR0BaseParser.GetState(System.Int32)">
            <summary>
            Gets the automaton's state with the given id
            </summary>
            <param name="id">State's id</param>
            <returns>The automaton's state which has the given id, or null if no state with the given id is found</returns>
        </member>
        <member name="M:Hime.Redist.Parsers.LR0BaseParser.#ctor(Hime.Redist.Parsers.LexerText)">
            <summary>
            Initializes a new instance of the LR0BaseParser class with the given lexer
            </summary>
            <param name="input">Input lexer</param>
        </member>
        <member name="M:Hime.Redist.Parsers.LR0BaseParser.RunForToken(Hime.Redist.Parsers.SymbolToken)">
            <summary>
            Runs the parser for the given state and token
            </summary>
            <param name="token">Current token</param>
            <returns>true if the parser is able to consume the token, false otherwise</returns>
        </member>
        <member name="T:Hime.Redist.Parsers.SPPFNodeFamily">
            <summary>
            Represents a family of children for a SPPF node
            </summary>
        </member>
        <member name="M:Hime.Redist.Parsers.SPPFNodeFamily.#ctor(Hime.Redist.Parsers.SPPFNode)">
            <summary>
            Initializes a new instance of the SPPFNodeFamily class with the given parent node
            </summary>
            <param name="parent">The node owning this family</param>
        </member>
        <member name="M:Hime.Redist.Parsers.SPPFNodeFamily.#ctor(Hime.Redist.Parsers.SPPFNode,System.Collections.Generic.IEnumerable{Hime.Redist.Parsers.SPPFNode})">
            <summary>
            Initializes a new instance of the SPPFNodeFamily class with the given parent node
            </summary>
            <param name="parent">The node owning this family</param>
            <param name="nodes">The list of children for this family</param>
        </member>
        <member name="M:Hime.Redist.Parsers.SPPFNodeFamily.AddChild(Hime.Redist.Parsers.SPPFNode)">
            <summary>
            Adds a new child to this family
            </summary>
            <param name="child">The child to add to this family</param>
        </member>
        <member name="M:Hime.Redist.Parsers.SPPFNodeFamily.EquivalentTo(Hime.Redist.Parsers.SPPFNodeFamily)">
            <summary>
            Determines whether this family is equivalent to the tested one
            </summary>
            <param name="family">The tested family</param>
            <returns>True if this family is equivalent to the tested one, false otherwise</returns>
        </member>
        <member name="P:Hime.Redist.Parsers.SPPFNodeFamily.Parent">
            <summary>
            Gets the SPPF node owning this family
            </summary>
        </member>
        <member name="P:Hime.Redist.Parsers.SPPFNodeFamily.Children">
            <summary>
            Gets the list of children in this family
            </summary>
        </member>
        <member name="T:Hime.Redist.Parsers.SymbolTokenDollar">
            <summary>
            Represents a special token for the end of data stream
            </summary>
        </member>
        <member name="P:Hime.Redist.Parsers.SymbolTokenDollar.Instance">
            <summary>
            Gets the dollar token
            </summary>
        </member>
        <member name="P:Hime.Redist.Parsers.SymbolTokenDollar.Value">
            <summary>
            Gets the data represented by this symbol
            </summary>
        </member>
        <member name="T:Hime.Redist.Parsers.LR0State">
            <summary>
            State for LR0 parsers.
            </summary>
        </member>
        <member name="T:Hime.Redist.Parsers.LRState">
            <summary>
            Represents a base state in a LR(k) parser automaton
            </summary>
        </member>
        <member name="F:Hime.Redist.Parsers.LRState.items">
            <summary>
            Array of the string representations of items of this state
            </summary>
            <remarks>
            This attribute is filled only if the debug option has been selected at generation time
            </remarks>
        </member>
        <member name="F:Hime.Redist.Parsers.LRState.expecteds">
            <summary>
            Array of the the expected terminals at this state
            This is used for error recovery.
            </summary>
        </member>
        <member name="F:Hime.Redist.Parsers.LRState.shiftsOnTerminal">
            <summary>
            Dictionary associating the ID of the next state given a terminal ID
            </summary>
        </member>
        <member name="F:Hime.Redist.Parsers.LRState.shiftsOnVariable">
            <summary>
            Dictionary associating the ID of the next state given a variable ID
            </summary>
        </member>
        <member name="M:Hime.Redist.Parsers.LRState.#ctor(System.String[],Hime.Redist.Parsers.SymbolTerminal[],System.UInt16[],System.UInt16[],System.UInt16[],System.UInt16[])">
            <summary>
            Initializes a new instance of the LRState class with its inner data
            </summary>
            <param name="items">State's items</param>
            <param name="expected">Expected terminals for this state</param>
            <param name="st_keys">Terminal IDs for shift actions</param>
            <param name="st_val">Next state IDs for shift actions on terminals</param>
            <param name="sv_keys">Variable IDs for shift actions</param>
            <param name="sv_val">Next state IDs for shift actions on variables</param>
        </member>
        <member name="M:Hime.Redist.Parsers.LRState.#ctor(System.String[])">
            <summary>
            Initializes a new instance of the LRState class with its inner data
            </summary>
            <param name="items">State's items</param>
        </member>
        <member name="M:Hime.Redist.Parsers.LRState.GetNextByShiftOnTerminal(System.UInt16)">
            <summary>
            Gets the next state ID by a shift action on the given terminal ID
            </summary>
            <param name="sid">The terminal ID</param>
            <returns>The next state's ID by a shift action on the given terminal ID, or 0xFFFF if no suitable shift action is found</returns>
        </member>
        <member name="M:Hime.Redist.Parsers.LRState.GetNextByShiftOnVariable(System.UInt16)">
            <summary>
            Gets the next state ID by a shift action on the given variable ID
            </summary>
            <param name="sid">The variable ID</param>
            <returns>The next state's ID by a shift action on the given variable ID, or 0xFFFF if no suitable shift action is found</returns>
        </member>
        <member name="M:Hime.Redist.Parsers.LR0State.#ctor(System.String[],Hime.Redist.Parsers.SymbolTerminal[],System.UInt16[],System.UInt16[],System.UInt16[],System.UInt16[])">
            <summary>
            Initializes a new instance of the LR0State class with its inner data
            </summary>
            <param name="items">State's items</param>
            <param name="expected">Expected terminals for this state</param>
            <param name="st_keys">Terminal IDs for shift actions</param>
            <param name="st_val">Next state IDs for shift actions on terminals</param>
            <param name="sv_keys">Variable IDs for shift actions</param>
            <param name="sv_val">Next state IDs for shift actions on variables</param>
        </member>
        <member name="M:Hime.Redist.Parsers.LR0State.#ctor(System.String[],Hime.Redist.Parsers.LRRule)">
            <summary>
            Initializes a new instance of the State structure with its inner data
            </summary>
            <param name="items">State's items</param>
            <param name="reduction">The rule to reduce at this state</param>
        </member>
        <member name="M:Hime.Redist.Parsers.LR0State.HasReduction">
            <summary>
            Determines whether a reduction can occur
            </summary>
            <returns>True if a reduction is found, false otherwise</returns>
        </member>
        <member name="P:Hime.Redist.Parsers.LR0State.Reduction">
            <summary>
            Rule to reduce on this state
            </summary>
        </member>
        <member name="T:Hime.Redist.Parsers.SymbolVirtual">
            <summary>
            Represents a synthetic symbol in an abstract syntax tree
            </summary>
        </member>
        <member name="M:Hime.Redist.Parsers.SymbolVirtual.#ctor(System.String)">
            <summary>
            Initializes a new instance of the SymbolVirtual class with a name
            </summary>
            <param name="name">Symbol's type name</param>
        </member>
        <member name="M:Hime.Redist.Parsers.SymbolVirtual.GetHashCode">
            <summary>
            Serves as a hash function for a particular type
            </summary>
            <returns>A hash code for the current symbol</returns>
        </member>
        <member name="M:Hime.Redist.Parsers.SymbolVirtual.Equals(System.Object)">
            <summary>
            Determines whether the specified symbol is equal to the current symbol
            </summary>
            <param name="obj">The symbol to compare with the current symbol</param>
            <returns>true if the specified symbol is equal to the current symbol; otherwise, false</returns>
        </member>
        <member name="T:Hime.Redist.Parsers.SymbolTokenEpsilon">
            <summary>
            Represents a special token for the absence of data in a stream
            </summary>
        </member>
        <member name="P:Hime.Redist.Parsers.SymbolTokenEpsilon.Instance">
            <summary>
            Gets the epsilon token
            </summary>
        </member>
        <member name="P:Hime.Redist.Parsers.SymbolTokenEpsilon.Value">
            <summary>
            Gets the data represented by this symbol
            </summary>
        </member>
        <member name="T:Hime.Redist.Parsers.SymbolTerminal">
            <summary>
            Represents a terminal in a grammar
            </summary>
        </member>
        <member name="M:Hime.Redist.Parsers.SymbolTerminal.#ctor(System.UInt16,System.String)">
            <summary>
            Initializes a new instance of the SymbolTerminal class with the given type ID and name
            </summary>
            <param name="sid">Symbol's unique type identifier</param>
            <param name="name">Symbol's type name</param>
        </member>
        <member name="M:Hime.Redist.Parsers.BaseRNGLR1Parser.OnLexicalError(Hime.Redist.Parsers.ParserError)">
            <summary>
            Adds the given lexical error emanating from the lexer to the list of errors
            </summary>
            <param name="error">Lexical error</param>
        </member>
        <member name="T:Hime.Redist.Parsers.LR1State">
            <summary>
            State for LR1 automata.
            </summary>
        </member>
        <member name="F:Hime.Redist.Parsers.LR1State.reducsOnTerminal">
            <summary>
            Dictionary associating a reduction to terminal ID
            </summary>
        </member>
        <member name="M:Hime.Redist.Parsers.LR1State.#ctor(System.String[],Hime.Redist.Parsers.SymbolTerminal[],System.UInt16[],System.UInt16[],System.UInt16[],System.UInt16[],Hime.Redist.Parsers.LRReduction[])">
            <summary>
            Initializes a new instance of the LR1State class with its inner data
            </summary>
            <param name="items">State's items</param>
            <param name="expected">Expected terminals for this state</param>
            <param name="st_keys">Terminal IDs for shift actions</param>
            <param name="st_val">Next state IDs for shift actions on terminals</param>
            <param name="sv_keys">Variable IDs for shift actions</param>
            <param name="sv_val">Next state IDs for shift actions on variables</param>
            <param name="rt">Reductions that can occur in this state</param>
        </member>
        <member name="M:Hime.Redist.Parsers.LR1State.HasReductionOnTerminal(System.UInt16)">
            <summary>
            Determines whether a reduction can occur for the given terminal ID
            </summary>
            <param name="sid">The terminal ID</param>
            <returns>True if a reduction is found, false otherwise</returns>
        </member>
        <member name="M:Hime.Redist.Parsers.LR1State.GetReductionOnTerminal(System.UInt16)">
            <summary>
            Get the reduction for the given terminal ID
            </summary>
            <param name="sid">The terminal ID</param>
            <returns>The reduction for the given terminal ID</returns>
        </member>
        <member name="T:Hime.Redist.Parsers.LR1BaseParser">
            <summary>
            Represents a base for LR(1) parsers
            </summary>
        </member>
        <member name="F:Hime.Redist.Parsers.LR1BaseParser.states">
            <summary>
            States of the LR(1) parser automaton
            </summary>
        </member>
        <member name="M:Hime.Redist.Parsers.LR1BaseParser.GetState(System.Int32)">
            <summary>
            Gets the automaton's state with the given id
            </summary>
            <param name="id">State's id</param>
            <returns>The automaton's state which has the given id, or null if no state with the given id is found</returns>
        </member>
        <member name="M:Hime.Redist.Parsers.LR1BaseParser.#ctor(Hime.Redist.Parsers.LexerText)">
            <summary>
            Initializes a new instance of the LR1BaseParser class with the given lexer
            </summary>
            <param name="input">Input lexer</param>
        </member>
        <member name="M:Hime.Redist.Parsers.LR1BaseParser.OnUnexpectedToken(Hime.Redist.Parsers.SymbolToken)">
            <summary>
            Acts when an unexpected token is encountered
            </summary>
            <param name="token">Current token</param>
            <returns>The new next token if the error is resolved, null otherwise</returns>
        </member>
        <member name="M:Hime.Redist.Parsers.LR1BaseParser.RunForToken(Hime.Redist.Parsers.SymbolToken)">
            <summary>
            Runs the parser for the given state and token
            </summary>
            <param name="token">Current token</param>
            <returns>true if the parser is able to consume the token, false otherwise</returns>
        </member>
        <member name="T:Hime.Redist.Parsers.SymbolVariable">
            <summary>
            Represents a variable in an abstract syntax tree or a grammar
            </summary>
        </member>
        <member name="M:Hime.Redist.Parsers.SymbolVariable.#ctor(System.UInt16,System.String)">
            <summary>
            Initializes a new instance of the SymbolVariable class with the given id and name
            </summary>
            <param name="sid">Symbol's unique type identifier</param>
            <param name="name">Symbol's type name</param>
        </member>
        <member name="T:Hime.Redist.Parsers.LRRule">
            <summary>
            Represents a LR(k) parser rule
            </summary>
        </member>
        <member name="F:Hime.Redist.Parsers.LRRule.OnReduction">
            <summary>
            Callback to invoke when reducing this rule
            </summary>
        </member>
        <member name="F:Hime.Redist.Parsers.LRRule.Head">
            <summary>
            The rule's head variable
            </summary>
        </member>
        <member name="F:Hime.Redist.Parsers.LRRule.Length">
            <summary>
            The rule's length
            </summary>
        </member>
        <member name="M:Hime.Redist.Parsers.LRRule.#ctor(Hime.Redist.Parsers.LRParser.Production,Hime.Redist.Parsers.SymbolVariable,System.UInt16)">
            <summary>
            Initializes a new instance of the Rule structure with the given callback, variable and length
            </summary>
            <param name="prod">The callback for reductions</param>
            <param name="head">The head variable</param>
            <param name="length">The rule's length</param>
        </member>
        <member name="T:Hime.Redist.Parsers.BufferedTextReader">
            <summary>
            Represents a rewindable stream of text
            </summary>
        </member>
        <member name="M:Hime.Redist.Parsers.BufferedTextReader.#ctor(System.IO.TextReader)">
            <summary>
            Initializes a new instance of the BufferedTextReader class with the given text reader
            </summary>
            <param name="inner">The base text reader serving as input</param>
        </member>
        <member name="M:Hime.Redist.Parsers.BufferedTextReader.AtEnd">
            <summary>
            Determines wether the buffer is at the end of the input stream
            </summary>
            <returns>True if the buffer is at the end of the input stream, false otherwise</returns>
        </member>
        <member name="M:Hime.Redist.Parsers.BufferedTextReader.GetReadText">
            <summary>
            Gets all the text that has been read so far as a string
            </summary>
            <returns>The text that has been already read</returns>
        </member>
        <member name="M:Hime.Redist.Parsers.BufferedTextReader.Peek(System.Boolean@)">
            <summary>
            Gets the next character in the stream without advancing the stream
            </summary>
            <param name="atEnd">True if at the end of the stream</param>
            <returns>The next character in the stream</returns>
        </member>
        <member name="M:Hime.Redist.Parsers.BufferedTextReader.Read(System.Boolean@)">
            <summary>
            Gets the next character in the stream and advance the stream
            </summary>
            <param name="atEnd">True if at the end of the stream</param>
            <returns>The next character in the stream</returns>
        </member>
        <member name="M:Hime.Redist.Parsers.BufferedTextReader.Rewind(System.Int32)">
            <summary>
            Rewind the read input of a given length
            </summary>
            <param name="length">The number of characters to rewind</param>
        </member>
        <member name="M:Hime.Redist.Parsers.BufferedTextReader.Clone">
            <summary>
            Gets a clone of this buffered text reader
            </summary>
            <returns>A clone of this buffered text reader</returns>
        </member>
        <member name="T:Hime.Redist.Parsers.GSSNode">
            <summary>
            Represents a node in a graph structured stack
            </summary>
        </member>
        <member name="M:Hime.Redist.Parsers.GSSNode.AddEdge(Hime.Redist.Parsers.GSSNode,Hime.Redist.Parsers.SPPFNode)">
            <summary>
            Adds a new edge from this node
            </summary>
            <param name="state">The previous GSS node</param>
            <param name="label">The label of the edge</param>
        </member>
        <member name="M:Hime.Redist.Parsers.GSSNode.#ctor(System.UInt16,System.Int32)">
            <summary>
            Initializes a new instance of the GSSNode class with the given DFA state id and generation
            </summary>
            <param name="label">The ID of the represented DFA state</param>
            <param name="generation">The generation of the node</param>
        </member>
        <member name="M:Hime.Redist.Parsers.GSSNode.NodesAt(System.Int32)">
            <summary>
            Gets all the node at a given distance from this node
            </summary>
            <param name="length">The distance</param>
            <returns>The list of nodes a the given distance</returns>
        </member>
        <member name="M:Hime.Redist.Parsers.GSSNode.GetPaths(System.Int32)">
            <summary>
            Gets all the paths of the given length starting at this node
            </summary>
            <param name="length">The length of paths</param>
            <returns>The paths of the given length starting at this node</returns>
        </member>
        <member name="P:Hime.Redist.Parsers.GSSNode.Generation">
            <summary>
            Gets the generation of this node
            </summary>
        </member>
        <member name="P:Hime.Redist.Parsers.GSSNode.DFAState">
            <summary>
            Gets the id of the DFA state represented by this GSS node
            </summary>
        </member>
        <member name="P:Hime.Redist.Parsers.GSSNode.Edges">
            <summary>
            Gets the edges coming out of this node
            </summary>
        </member>
        <member name="T:Hime.Redist.Parsers.SyntaxTreeNodeAction">
            <summary>
            Specifies the tree action for a given node
            </summary>
        </member>
        <member name="F:Hime.Redist.Parsers.SyntaxTreeNodeAction.Promote">
            <summary>
            Promote the node to the immediately upper level in the tree
            </summary>
        </member>
        <member name="F:Hime.Redist.Parsers.SyntaxTreeNodeAction.Drop">
            <summary>
            Drop the node and all the children from the tree
            </summary>
        </member>
        <member name="F:Hime.Redist.Parsers.SyntaxTreeNodeAction.Replace">
            <summary>
            Replace the node by its children
            </summary>
        </member>
        <member name="F:Hime.Redist.Parsers.SyntaxTreeNodeAction.Nothing">
            <summary>
            Default action for a node, do nothing
            </summary>
        </member>
        <member name="T:Hime.Redist.Parsers.LRReduction">
            <summary>
            Represents a rule reduction in a LR(1) parser
            </summary>
        </member>
        <member name="F:Hime.Redist.Parsers.LRReduction.lookahead">
            <summary>
            ID of the lookahead on which the reduction is triggered
            </summary>
        </member>
        <member name="F:Hime.Redist.Parsers.LRReduction.toReduce">
            <summary>
            Rule for the reduction
            </summary>
        </member>
        <member name="M:Hime.Redist.Parsers.LRReduction.#ctor(System.UInt16,Hime.Redist.Parsers.LRRule)">
            <summary>
            Initializes a new instance of the Reduction structure with the given lookahead and rule
            </summary>
            <param name="lookahead">The reduction's lookahead ID</param>
            <param name="rule">The rule for the reduction</param>
        </member>
        <member name="T:Hime.Redist.Parsers.SPPFNode">
            <summary>
            Represents a node in a Shared Packed Parse Forest
            </summary>
        </member>
        <member name="M:Hime.Redist.Parsers.SPPFNode.#ctor(Hime.Redist.Parsers.Symbol,System.Int32)">
            <summary>
            Initializes a new instance of the SPPFNode class with the given symbol and generation
            </summary>
            <param name="symbol">The symbol represented by this node</param>
            <param name="gen">The generation of this node</param>
        </member>
        <member name="M:Hime.Redist.Parsers.SPPFNode.#ctor(Hime.Redist.Parsers.Symbol,System.Int32,Hime.Redist.Parsers.SyntaxTreeNodeAction)">
            <summary>
            Initializes a new instance of the SPPFNode class with the given symbol, generation and action
            </summary>
            <param name="symbol">The symbol represented by this node</param>
            <param name="gen">The generation of this node</param>
            <param name="action">The action for this node</param>
        </member>
        <member name="M:Hime.Redist.Parsers.SPPFNode.AddFamily(Hime.Redist.Parsers.SPPFNodeFamily)">
            <summary>
            Adds a new family for this node
            </summary>
            <param name="family">The new family for this node</param>
        </member>
        <member name="M:Hime.Redist.Parsers.SPPFNode.AddFamily(System.Collections.Generic.IEnumerable{Hime.Redist.Parsers.SPPFNode})">
            <summary>
            Adds a new family to be constructed from a list of nodes
            </summary>
            <param name="nodes">The list of nodes forming the new family</param>
        </member>
        <member name="M:Hime.Redist.Parsers.SPPFNode.EquivalentTo(Hime.Redist.Parsers.SPPFNode)">
            <summary>
            Determines whether this node is equivalent to the given one
            </summary>
            <param name="node">The tested node</param>
            <returns>True if the given node is equivalent to this node, false otherwise</returns>
        </member>
        <member name="M:Hime.Redist.Parsers.SPPFNode.HasEquivalentFamily(Hime.Redist.Parsers.SPPFNodeFamily)">
            <summary>
            Determines whether this node has a family equivalent to the given one
            </summary>
            <param name="family">The tested family</param>
            <returns>True if this node has an equivalent family, false otherwise</returns>
        </member>
        <member name="M:Hime.Redist.Parsers.SPPFNode.GetFirstTree">
            <summary>
            Gets the first tree stemming from this SPPF
            </summary>
            <returns>The first tree stemming from this SPPF</returns>
        </member>
        <member name="P:Hime.Redist.Parsers.SPPFNode.Symbol">
            <summary>
            Gets the symbol associated to this node
            </summary>
        </member>
        <member name="P:Hime.Redist.Parsers.SPPFNode.Action">
            <summary>
            Gets or sets the action for this node
            </summary>
        </member>
        <member name="P:Hime.Redist.Parsers.SPPFNode.Generation">
            <summary>
            Gets the generation of this node
            </summary>
        </member>
        <member name="M:Hime.Redist.Parsers.LRStarBaseParser.GetState(System.Int32)">
            <summary>
            Gets the automaton's state with the given id
            </summary>
            <param name="id">State's id</param>
            <returns>The automaton's state which has the given id, or null if no state with the given id is found</returns>
        </member>
        <member name="M:Hime.Redist.Parsers.LRStarBaseParser.RunForToken(Hime.Redist.Parsers.SymbolToken)">
            <summary>
            Runs the parser for the given state and token
            </summary>
            <param name="token">Current token</param>
            <returns>true if the parser is able to consume the token, false otherwise</returns>
        </member>
        <member name="T:Hime.Redist.Parsers.SyntaxTreeNode">
            <summary>
            Represents an abstract syntax tree node
            </summary>
        </member>
        <member name="M:Hime.Redist.Parsers.SyntaxTreeNode.#ctor(Hime.Redist.Parsers.Symbol)">
            <summary>
            Initilizes a new instance of the SyntaxTreeNode class with the given symbol
            </summary>
            <param name="symbol">The symbol to attach to this node</param>
        </member>
        <member name="M:Hime.Redist.Parsers.SyntaxTreeNode.#ctor(Hime.Redist.Parsers.Symbol,Hime.Redist.Parsers.SyntaxTreeNodeAction)">
            <summary>
            Initilizes a new instance of the SyntaxTreeNode class with the given symbol and action
            </summary>
            <param name="symbol">The symbol to attach to this node</param>
            <param name="action">The action for this node</param>
        </member>
        <member name="M:Hime.Redist.Parsers.SyntaxTreeNode.AppendChild(Hime.Redist.Parsers.SyntaxTreeNode)">
            <summary>
            Adds a node as a child after removing it from its original tree if needed
            </summary>
            <param name="node">The node to append</param>
        </member>
        <member name="M:Hime.Redist.Parsers.SyntaxTreeNode.AppendChild(Hime.Redist.Parsers.SyntaxTreeNode,Hime.Redist.Parsers.SyntaxTreeNodeAction)">
            <summary>
            Adds a node as a child with the given action after removing it from its original tree if needed
            </summary>
            <param name="node">The node to append</param>
            <param name="action">The action for the node</param>
        </member>
        <member name="M:Hime.Redist.Parsers.SyntaxTreeNode.AppendRange(System.Collections.Generic.ICollection{Hime.Redist.Parsers.SyntaxTreeNode})">
            <summary>
            Adds a range of nodes as children
            </summary>
            <param name="nodes">The nodes to append</param>
        </member>
        <member name="M:Hime.Redist.Parsers.SyntaxTreeNode.ApplyActions">
            <summary>
            Apply actions to this node and all its children
            </summary>
            <returns>The new root</returns>
        </member>
        <member name="M:Hime.Redist.Parsers.SyntaxTreeNode.GetXMLNode(System.Xml.XmlDocument)">
            <summary>
            Builds an XML node representing this node in the context of the given XML document
            </summary>
            <param name="doc">The document that will own the XML node</param>
            <returns>The XML node representing this node</returns>
        </member>
        <member name="M:Hime.Redist.Parsers.SyntaxTreeNode.ToString">
            <summary>
            Gets a string representation of this node
            </summary>
            <returns>The name of the current node's symbol; or "null" if there the node does not have a symbol</returns>
        </member>
        <member name="P:Hime.Redist.Parsers.SyntaxTreeNode.Properties">
            <summary>
            Gets a dictionary of user properties attached to this node
            </summary>
        </member>
        <member name="P:Hime.Redist.Parsers.SyntaxTreeNode.Symbol">
            <summary>
            Gets the symbol attached to this node
            </summary>
        </member>
        <member name="P:Hime.Redist.Parsers.SyntaxTreeNode.Parent">
            <summary>
            Gets the parent node
            </summary>
        </member>
        <member name="P:Hime.Redist.Parsers.SyntaxTreeNode.Children">
            <summary>
            Gets a read-only list of the children nodes
            </summary>
        </member>
        <member name="T:Hime.Redist.Parsers.LRStarState">
            <summary>
            States for LRStar automata.
            </summary>
        </member>
    </members>
</doc>
